<template>
	<view class="mine-container" :style="{height: `${windowHeight}px`}">
		<!--顶部个人信息栏-->
		<view class="header-section">
			<view class="flex padding justify-between">
				<view class="flex align-center">
					<view v-if="!avatar" class="cu-avatar xl round bg-white">
						<view class="iconfont icon-people text-gray icon"></view>
					</view>
					<!-- <image v-if="avatar" @click="handleToAvatar" :src="avatar" class="cu-avatar xl round" mode="widthFix"> -->
					</image>
					<view v-if="!name" @click="handleToLogin" class="login-tip">
						点击登录
					</view>
					<view v-if="name" @click="handleToInfo" class="user-info">
						<view class="u_title">
							昵称：{{ userDetails.nickName }}
						</view>
					</view>
				</view>
				<view @click="handleToInfo" class="flex align-center">
					<text>个人信息</text>
					<view class="iconfont icon-right"></view>
				</view>
			</view>
		</view>

		<view class="content-section">
			<uni-card title="我的作品">
				<u-empty text="没有已发表作品" v-if="this.worksByVoteList.length == 0" icon="http://cdn.uviewui.com/uview/empty/coupon.png"/>
				<view v-for="item in worksByVoteList" :key="item.worksKey">
					<u-row customStyle="margin-bottom: 10px">
						<u-col span="3">
							<view class="demo-layout bg-purple-light">
								<u--image :src="item.urlList[0]" shape="square" width="100%" height="80px" radius="5" @click="imgListPreview(item.urlList[0])">
								</u--image>
							</view>
						</u-col>
						<u-col span="9">
							<view class="demo-layout bg-purple-light" style="margin-left: 10px;">
								<u--text :text="item.worksTitle" size="16" :bold="true"></u--text>
								<u--text :lines="2" :text="item.worksCopywriting" color="#707070">
								</u--text>
							</view>
							<view>
								<u-row style="margin-top: 5px; margin-left: 10px;">
									<u-col span="3">
										<view>
											<u-icon name="bookmark-fill" size="15" :label="item.worksVote + '票'" />
										</view>
									</u-col>
									<u-col span="8">
										<view>
											<u-icon label="查看作品详情" name="more-dot-fill" size="15" labelPos="left"
												@click="clickToWorkdetails(item.worksKey)" />
										</view>
									</u-col>
								</u-row>
							</view>
						</u-col>
					</u-row>
				</view>
				<u-divider :dashed="true"></u-divider>
			</uni-card>

			<view class="menu-list">
				<view class="list-cell list-cell-arrow" @click="handleToEditInfo">
					<view class="menu-item-box">
						<view class="iconfont icon-user menu-icon"></view>
						<view>编辑资料</view>
					</view>
				</view>
				<view class="list-cell list-cell-arrow" @click="handleToSetting">
					<view class="menu-item-box">
						<view class="iconfont icon-setting menu-icon"></view>
						<view>应用设置</view>
					</view>
				</view>
			</view>

		</view>
	</view>
</template>

<script>
	import storage from '@/utils/storage'
	import {
		getWorksByVote,
	} from '@/api/system/works.js'
	import {
		getUserProfile
	} from "@/api/system/user"

	export default {
		data() {
			return {
				worksByVoteList: [],
				// 查询参数
				queryParams: {
					pageNum: 1,
					pageSize: 3,
					worksUserId: null,
				},
				userDetails: {},
				name: this.$store.state.user.name,
				version: getApp().globalData.config.appInfo.version
			}
		},
		computed: {
			avatar() {
				return this.$store.state.user.avatar
			},
			windowHeight() {
				return uni.getSystemInfoSync().windowHeight - 50
			}
		},
		onLoad: function() {
			this.getUser()
		},
		methods: {
			getlist() {
				this.queryParams.worksUserId = this.userDetails.userId
				getWorksByVote(this.queryParams).then(response => {
					console.log("按票数排序", response.rows)
					this.worksByVoteList = response.rows
				})
			},
			getUser() {
				getUserProfile().then(response => {
					if(response == '401'){
						uni.navigateTo({
							url: '/pages/login',
						});
					}
					this.userDetails = response.data
					console.log(this.userDetails)
					this.getlist()
				})
			},
			imgListPreview(value) {
				var urlList = []
				urlList.push(value)
				uni.previewImage({
					indicator: "number",
					loop: true,
					urls: urlList
				})
			},
			clickToWorkdetails(worksKey) {
				uni.navigateTo({
					url: '/pages/work/workDetails?key=' + worksKey
				});
			},
			handleToInfo() {
				this.$tab.navigateTo('/pages/mine/info/index')
			},
			handleToEditInfo() {
				this.$tab.navigateTo('/pages/mine/info/edit')
			},
			handleToSetting() {
				this.$tab.navigateTo('/pages/mine/setting/index')
			},
			handleToLogin() {
				this.$tab.reLaunch('/pages/login')
			},
			handleToAvatar() {
				this.$tab.navigateTo('/pages/mine/avatar/index')
			},
			handleLogout() {
				this.$modal.confirm('确定注销并退出系统吗？').then(() => {
					this.$store.dispatch('LogOut').then(() => {
						this.$tab.reLaunch('/pages/index')
					})
				})
			},
			handleHelp() {
				this.$tab.navigateTo('/pages/mine/help/index')
			},
			handleAbout() {
				this.$tab.navigateTo('/pages/mine/about/index')
			},
			handleJiaoLiuQun() {
				this.$modal.showToast('QQ群：①133713780、②146013835')
			},
			handleBuilding() {
				this.$modal.showToast('模块建设中~')
			}
		}
	}
</script>

<style lang="scss">
	page {
		background-color: #f5f6f7;
	}

	.mine-container {
		width: 100%;
		height: 100%;


		.header-section {
			padding: 15px 15px 45px 15px;
			background-color: #be161c;
			color: white;

			.login-tip {
				font-size: 18px;
				margin-left: 10px;
			}

			.cu-avatar {
				border: 2px solid #eaeaea;

				.icon {
					font-size: 40px;
				}
			}

			.user-info {
				margin-left: 15px;

				.u_title {
					font-size: 18px;
					line-height: 30px;
				}
			}
		}

		.content-section {
			position: relative;
			top: -50px;

			.mine-actions {
				margin: 15px 15px;
				padding: 20px 0px;
				border-radius: 8px;
				background-color: white;

				.action-item {
					.icon {
						font-size: 28px;
					}

					.text {
						display: block;
						font-size: 13px;
						margin: 8px 0px;
					}
				}
			}
		}
	}
</style>
